home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / gltexsubimage3dext.z / gltexsubimage3dext
Encoding:
Text File  |  2002-10-03  |  17.9 KB  |  266 lines

  1.  
  2.  
  3.  
  4. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT - specify a three-dimensional texture subimage
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT( GLenum _t_a_r_g_e_t,
  14.                               GLint _l_e_v_e_l,
  15.                               GLint _x_o_f_f_s_e_t,
  16.                               GLint _y_o_f_f_s_e_t,
  17.                               GLint _z_o_f_f_s_e_t,
  18.                               GLsizei _w_i_d_t_h,
  19.                               GLsizei _h_e_i_g_h_t,
  20.                               GLsizei _d_e_p_t_h,
  21.                               GLenum _f_o_r_m_a_t,
  22.                               GLenum _t_y_p_e,
  23.                               const GLvoid *_p_i_x_e_l_s )
  24.  
  25.  
  26. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  27.      _t_a_r_g_e_t   Specifies the target texture.  Must be GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT.
  28.  
  29.      _l_e_v_e_l    Specifies the level-of-detail number.  Level 0 is the base image
  30.               level.  Level _n is the _nth mipmap reduction image.
  31.  
  32.      _x_o_f_f_s_e_t  Specifies a texel offset in the x direction within the texture
  33.               array.
  34.  
  35.      _y_o_f_f_s_e_t  Specifies a texel offset in the y direction within the texture
  36.               array.
  37.  
  38.      _z_o_f_f_s_e_t  Specifies a texel offset in the z direction within the texture
  39.               array.
  40.  
  41.      _w_i_d_t_h    Specifies the width of the texture subimage.
  42.  
  43.      _h_e_i_g_h_t   Specifies the height of the texture subimage.
  44.  
  45.      _d_e_p_t_h    Specifies the depth of the texture subimage.
  46.  
  47.      _f_o_r_m_a_t   Specifies the format of the pixel data.  The following symbolic
  48.               values are accepted:  GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX, GGGGLLLL____RRRREEEEDDDD, GGGGLLLL____GGGGRRRREEEEEEEENNNN, GGGGLLLL____BBBBLLLLUUUUEEEE,
  49.               GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____RRRRGGGGBBBB, GGGGLLLL____RRRRGGGGBBBBAAAA, GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and
  50.               GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA.
  51.  
  52.      _t_y_p_e     Specifies the data type of the pixel data.  The following
  53.               symbolic values are accepted:  GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____BBBBYYYYTTTTEEEE,
  54.               GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT, GGGGLLLL____IIIINNNNTTTT,
  55.               GGGGLLLL____FFFFLLLLOOOOAAAATTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222____EEEEXXXXTTTT,
  56.               GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____4444____4444____4444____4444____EEEEXXXXTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____5555____5555____1111____EEEEXXXXTTTT,
  57.               GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____EEEEXXXXTTTT, and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222____EEEEXXXXTTTT.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      _p_i_x_e_l_s   Specifies a pointer to the image data in memory.
  75.  
  76.  
  77. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  78.      Texturing maps a portion of a specified _t_e_x_t_u_r_e _i_m_a_g_e onto each graphical
  79.      primitive for which texturing is enabled.  Three-dimensional texturing is
  80.      enabled and disabled using ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
  81.      GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT.
  82.  
  83.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT redefines a contiguous subregion of an existing
  84.      three-dimensional texture image.  The texels referenced by _p_i_x_e_l_s replace
  85.      the portion of the existing texture array with x indices _x_o_f_f_s_e_t and
  86.      _x_o_f_f_s_e_t+_w_i_d_t_h-1, inclusive, y indices _y_o_f_f_s_e_t and _y_o_f_f_s_e_t+_h_e_i_g_h_t-1,
  87.      inclusive (But, see discussion of GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX below), and z indices
  88.      _z_o_f_f_s_e_t and _z_o_f_f_s_e_t+_d_e_p_t_h-1, inclusive.  This region may not include any
  89.      texels outside the range of the texture array as it was originally
  90.      specified.  It is not an error to specify a subtexture with zero width,
  91.      height or depth, but such a specification has no effect.
  92.  
  93.      If GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, then every other row of the destination
  94.      texture is skipped. That is, only rows (0,2,4,...) of each S-T slice
  95.      (where the border is considered part of the slice) are defined. A
  96.      complete video frame may be assembled in a slice of the texture array by
  97.      invoking ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT on two consecutive video fields, with _y_o_f_f_s_e_t
  98.      values that differ by one.
  99.  
  100. NNNNOOOOTTTTEEEESSSS
  101.      Texturing has no effect in color index mode.
  102.  
  103.      ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr modes affect texture images in exactly
  104.      the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
  105.  
  106.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is only available if both the EEEEXXXXTTTT____ssssuuuubbbbtttteeeexxxxttttuuuurrrreeee and
  107.      EEEEXXXXTTTT____tttteeeexxxxttttuuuurrrreeee3333dddd extensions are supported.
  108.  
  109.      If _t_y_p_e is set to GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222____EEEEXXXXTTTT,
  110.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____4444____4444____4444____4444____EEEEXXXXTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____5555____5555____1111____EEEEXXXXTTTT,
  111.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____EEEEXXXXTTTT, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222____EEEEXXXXTTTT and the
  112.      EEEEXXXXTTTT____ppppaaaacccckkkkeeeedddd____ppppiiiixxxxeeeellllssss extension is not supported then a GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM error
  113.      is generated.
  114.  
  115.      See ggggllllIIIInnnnttttrrrroooo for more information on using extensions.
  116.  
  117. EEEERRRRRRRROOOORRRRSSSS
  118.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT.
  119.  
  120.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated when the texture array has not been
  121.      defined by a previous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD operation.
  122.  
  123.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
  124.      log (_m_a_x), where _m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____3333DDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT.
  125.         2
  126.  
  127.  
  128.  
  129.  
  130.                                                                         PPPPaaaaggggeeee 2222
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  138.  
  139.  
  140.  
  141.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if xoffset<-TEXTURE_BORDER,
  142.      (xoffset+width)>(TEXTURE_WIDTH-TEXTURE_BORDER), yoffset<-TEXTURE_BORDER,
  143.      (yoffset+interlacexheight)>(TEXTURE_HEIGHT-TEXTURE_BORDER),
  144.      zoffset<-TEXTURE_BORDER, or (zoffset+depth)>(TEXTURE_DEPTH_EXT-
  145.      TEXTURE_BORDER), where TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH_EXT
  146.      and TEXTURE_BORDER are the state values of the texture image being
  147.      modified, and interlace is 1 if GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled and 2
  148.      otherwise.  Note that TEXTURE_WIDTH, TEXTURE_HEIGHT and TEXTURE_DEPTH_EXT
  149.      include twice the border width.
  150.  
  151.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _f_o_r_m_a_t is not an accepted _f_o_r_m_a_t
  152.      constant.
  153.  
  154.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_y_p_e is not a _t_y_p_e constant.
  155.  
  156.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP and _f_o_r_m_a_t is not
  157.      GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX.
  158.  
  159.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is executed
  160.      between the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  161.      ggggllllEEEEnnnndddd.
  162.  
  163. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  164.      ggggllllGGGGeeeettttTTTTeeeexxxxIIIImmmmaaaaggggeeee
  165.      ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT
  166.  
  167.  
  168. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  169.      On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, there is a performance benefit when the width
  170.      of the image to be transferred to texture memory is a multiple of 8.
  171.  
  172.      Texture borders are not supported on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  173.      Applications should use borderless textures and GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS
  174.      wrap mode.
  175.  
  176.      The SSSSGGGGIIIIXXXX____iiiinnnntttteeeerrrrllllaaaacccceeee extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  177.      systems, on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, on OOOOccccttttaaaannnneeee2222
  178.      VVVVPPPPrrrroooo systems, and on OOOO2222 systems.
  179.  
  180.      The EEEEXXXXTTTT____ppppaaaacccckkkkeeeedddd____ppppiiiixxxxeeeellllssss extension is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
  181.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems.
  182.  
  183.      ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and
  184.      VVVVTTTTXXXX systems.
  185.  
  186.      On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems, if the right side of the image
  187.      to be transferred to texture memory is not the right side of the texture,
  188.      then its index must be a multiple of 32, where index = xoffset+width.
  189.      Otherwise it will generate a GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE error.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                         PPPPaaaaggggeeee 3333
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203. ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee         ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  204.  
  205.  
  206.  
  207. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  208.      ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss, ggggllllFFFFoooogggg, ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee, ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllTTTTeeeexxxxEEEEnnnnvvvv, ggggllllTTTTeeeexxxxGGGGeeeennnn,
  209.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr.
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                                                                         PPPPaaaaggggeeee 4444
  263.  
  264.  
  265.  
  266.